package com.nuoniu.sibanyun.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.nuoniu.sibanyun.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * <p>
 * 公司表
 * </p>
 *
 * @author baiqiang
 * @since 2020-04-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_tenant")
@ApiModel(value="SysCompany对象", description="公司表")
public class SysCompany extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "公司代码")
    @TableField("company_code")
    private String companyCode;

    @ApiModelProperty(value = "公司名称")
    @TableField("company_name")
    private String companyName;

    @ApiModelProperty(value = "公司全称")
    @TableField("full_name")
    private String fullName;

    @ApiModelProperty(value = "公司使用的产品")
    @TableField("goods_id")
    private Integer goodsId;

    @ApiModelProperty(value = "统一社会代码")
    @TableField("unified_social_coding")
    private String unifiedSocialCoding;

    @ApiModelProperty(value = "区域编码")
    @TableField("area_id")
    private Long areaId;

    @ApiModelProperty(value = "区域编码(包括父级ID)")
    @TableField("area_ids")
    private String areaIds;

    @ApiModelProperty(value = "手机号码")
    @TableField("mobile")
    private String mobile;

    @ApiModelProperty(value = "电话号码")
    @TableField("phone")
    private String phone;

    @ApiModelProperty(value = "电子邮箱")
    @TableField("email")
    private String email;

    @ApiModelProperty(value = "邮箱认证")
    @TableField("auth_email")
    private String authEmail;

    @ApiModelProperty(value = "状态（0正常 1删除 2停用）")
    @TableField("status")
    private Boolean status;

    @ApiModelProperty(value = "创建者")
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_date")
    private LocalDateTime createDate;

    @ApiModelProperty(value = "更新者")
    @TableField("update_by")
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_date")
    private LocalDateTime updateDate;

    @ApiModelProperty(value = "最近登录时间")
    @TableField("login_date")
    private LocalDateTime loginDate;

    @ApiModelProperty(value = "最近登录ip")
    @TableField("login_ip")
    private String loginIp;

    @ApiModelProperty(value = "登录次数")
    @TableField("login_count")
    private Integer loginCount;

    @ApiModelProperty(value = "注册ip")
    @TableField("register_ip")
    private String registerIp;

    @ApiModelProperty(value = "注册定位地址")
    @TableField("register_address")
    private String registerAddress;

    @ApiModelProperty(value = "公司注册地址")
    @TableField("company_address")
    private String companyAddress;

    @ApiModelProperty(value = "备注信息")
    @TableField("remarks")
    private String remarks;

    @ApiModelProperty(value = "详细地址")
    @TableField("address")
    private String address;

    @ApiModelProperty(value = "企业法人")
    @TableField("legal_person")
    private String legalPerson;

    @ApiModelProperty(value = "所属行业")
    @TableField("trade")
    private String trade;

    @ApiModelProperty(value = "主营范围")
    @TableField("business_scope")
    private String businessScope;

    @ApiModelProperty(value = "注册资金")
    @TableField("registered_capital")
    private String registeredCapital;

    @ApiModelProperty(value = "经营模式")
    @TableField("management_model")
    private String managementModel;

    @ApiModelProperty(value = "销售的产品")
    @TableField("product")
    private String product;

    @ApiModelProperty(value = "采购的产品")
    @TableField("purchase")
    private String purchase;

    @ApiModelProperty(value = "公司规模")
    @TableField("enterprise_scale")
    private String enterpriseScale;

    @ApiModelProperty(value = "实名认证")
    @TableField("authentication")
    private String authentication;

    @ApiModelProperty(value = "公司可使用用户数量")
    @TableField("company_user")
    private Integer companyUser;

    @ApiModelProperty(value = "公司可免费使用用户数量")
    @TableField("free_user")
    private Integer freeUser;

    @ApiModelProperty(value = "密钥")
    @TableField("secret_key")
    private String secretKey;

    @ApiModelProperty(value = "密钥id")
    @TableField("secret_key_id")
    private Integer secretKeyId;

    @TableField(exist = false)
    private Integer secretType;

    @TableField(exist = false)
    private String secretEndDate;

    @ApiModelProperty(value = "上级用户id")
    @TableField("share_user_id")
    private Integer shareUserId;

    @ApiModelProperty(value = "上级用户名称")
    @TableField("share_user_name")
    private String shareUserName;

    @ApiModelProperty(value = "类型：普通注册，邀请码注册")
    @TableField("type")
    private String type;

    @ApiModelProperty(value = "账户编号")
    @TableField("acc_num")
    private Integer accNum;

    @ApiModelProperty(value = "账户名称")
    @TableField("acc_name")
    private String accName;

    @ApiModelProperty(value = "账号类型")
    @TableField("acc_type")
    private Integer accType;

    @ApiModelProperty(value = "启用年度")
    @TableField("enable_year")
    private Integer enableYear;

    @ApiModelProperty(value = "启用期间")
    @TableField("enable_duration")
    private Integer enableDuration;

    @ApiModelProperty(value = "账套主管ID")
    @TableField("acc_master_id")
    private Integer accMasterId;

    @ApiModelProperty(value = "公司银行")
    @TableField("company_bank")
    private String companyBank;

    @ApiModelProperty(value = "公司邮编")
    @TableField("company_zip")
    private String companyZip;

    @ApiModelProperty(value = "纳税性质")
    @TableField("tax_cate_log")
    private String taxCateLog;

    @ApiModelProperty(value = "公司税率")
    @TableField("tax_rate")
    private Integer taxRate;

    @ApiModelProperty(value = "公司图片地址")
    @TableField("image_url")
    private String imageUrl;

    @ApiModelProperty(value = "商品分类")
    @TableField("product_class")
    private Integer productClass;

    @ApiModelProperty(value = "报税地区")
    @TableField("tax_area")
    private String taxArea;

    @ApiModelProperty(value = "电子发票文件名")
    @TableField("e_invoice_cert_name")
    private String eInvoiceCertName;

    @ApiModelProperty(value = "账套生成日期")
    @TableField("made_date")
    private LocalDateTime madeDate;

    @ApiModelProperty(value = "票据号")
    @TableField("bill_no")
    private String billNo;

    @ApiModelProperty(value = "电子发票AppID ")
    @TableField("e_invoice_app_id")
    private String eInvoiceAppId;

    @ApiModelProperty(value = "电子发票CA认证 ")
    @TableField("e_invoice_ca_cert")
    private String eInvoiceCaCert;

    @ApiModelProperty(value = "电子发票CAPIN码")
    @TableField("e_invoice_ca_cert_pin")
    private String eInvoiceCaCertPin;

    @ApiModelProperty(value = "本位币代码")
    @TableField("base_currency_code")
    private String baseCurrencyCode;

    @ApiModelProperty(value = "本位币名称")
    @TableField("base_currency_name")
    private String baseCurrencyName;

    @ApiModelProperty(value = "账套版本号")
    @TableField("version_no")
    private String versionNo;

    @ApiModelProperty(value = "是否演示租户0否 1是")
    @TableField("is_demo")
    private Integer isDemo;

    @ApiModelProperty(value = "外呼应用ID")
    @TableField("call_app_id")
    private Integer callAppId;

    @TableField(exist = false)
    private String realName;

    @TableField(exist = false)
    private String userName;

    @TableField(exist = false)
    private String goodsName;

    @TableField(exist = false)
    private String roleName;
}
